package com.tidc.seaserverservice.service;

import com.aliyuncs.exceptions.ClientException;
import com.tidc.seaservermodel.entity.Fres;
import com.tidc.seaservermodel.entity.User;
import com.tidc.seaservermodel.exception.TidcBadParent;
import com.tidc.seaservermodel.exception.TidcRestException;
import com.tidc.seaservermodel.exception.TidcUnLogin;
import org.apache.ibatis.annotations.Param;
import org.springframework.security.core.Authentication;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;

import javax.servlet.http.HttpServletRequest;
import javax.validation.Valid;
import java.sql.SQLException;
import java.util.List;
import java.util.Map;

/**
 * @author ：冯涛滔
 * @date ：Created in 2020/9/12 9:35
 * @description：
 * @modified By：
 * @version:
 */
public interface SupervisorUserService {
    Fres<String> secondaryUser(User user) throws SQLException, TidcBadParent;
    Fres<String> updateSecondaryUser(User user,Authentication authentication) throws TidcBadParent;
    Fres<User> getUserInfo(Authentication authentication) throws TidcUnLogin;
    Fres<Map<Object, Object>> getSecondaryUserList(String query, int pageSize, int pageNum, Authentication authentication) throws TidcBadParent;
    Fres<Boolean> checkUserRepetition(String username, String phone);
    Fres<User> getChildUser(Authentication authentication,int id);
    Fres<Map<Object,Object>> getSecondaryUserTaskInfoList(String query, int pageSize,int pageNum, Authentication authentication) throws TidcBadParent;

}
